#ifndef MAP_H
#define MAP_H

#define MAP_ROWS 22
#define MAP_COLS 20
#define TILE_SIZE 40

// 豆子链表节点
typedef struct Dot {
    int row, col;
    struct Dot* next;
} Dot;

// 地图结构体
typedef struct {
    int grid[MAP_ROWS][MAP_COLS]; // 0: 路, 1: 墙, 2: 豆子
    Dot* dotHead;                 // 豆子链表头指针
} Map;

void map_init(Map* map);
void map_draw(Map* map);
int map_eat_dot(Map* map, int row, int col); // Pacman吃豆，成功返回1，否则0
void map_free_dots(Map* map);

// 检查某个位置是否是墙
int is_wall(int row, int col);

#endif